<?php
	if(!function_exists('charset_decode_utf_8'))
	{
		function charset_decode_utf_8 ($string) 
		{
			/* Only do the slow convert if there are 8-bit characters */
			/* avoid using 0xA0 (\240) in ereg ranges. RH73 does not like that */
			if (! ereg("[\200-\237]", $string) and ! ereg("[\241-\377]", $string))
				return $string;

			// decode three byte unicode characters
			$string = preg_replace("/([\340-\357])([\200-\277])([\200-\277])/e",       
			"'&#'.((ord('\\1')-224)*4096 + (ord('\\2')-128)*64 + (ord('\\3')-128)).';'",   
			$string);

			// decode two byte unicode characters
			$string = preg_replace("/([\300-\337])([\200-\277])/e",
			"'&#'.((ord('\\1')-192)*64+(ord('\\2')-128)).';'",
			$string);

			return $string;
		}
	}
	
	if(!function_exists('cleanArray'))
	{
		//clean all empty values from array
		function cleanArray($array)
		{
			if (is_array($array))
			{
				foreach ($array as $key => $sub_array)
				{
					$result = cleanArray($sub_array);
					if ($result === false)
					{
						unset($array[$key]);
					}
					else
					{
						$array[$key] = $result;
					}
				}
			}

			if (empty($array))
			{
				return false;
			}

			return $array;
		}
	}